<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 回调函数其实是异步编程的解决方案


        ajax_get(
            'http://192.168.58.110/php/get.php' , 
            {
                username : 'yy' ,
                password : 123 ,
                phone : 188888
            } ,
            function(a) {
                console.log(a);
            }
        );


     

        function ajax_get(path , data , cb ) {

            // 处理参数  data传的是一个对象
            // 转变成字符串
            let params = '' ;
            // 遍历对象
            for(let key in data) {
                // username=yy&password=123&phone=18888
                params += `${key}=${data[key]}&` ;
            }
            // 去掉最后一个多余的&
            params = params.slice(0 , params.length - 1) ;
            // slice(start , end)
            // substring(start , end)
            // substr(start , howmany)
            // console.log(params);



            const xhr = new XMLHttpRequest();
            // xhr.open('get', `http://192.168.58.110/php/get.php?username=yy&password=123`, true);
            // 处理参数  --- key=value key=value  ...  对象
            xhr.open('get' , path + '?' + params , true);
            xhr.send();
            var res ;
            // 事件
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    // console.log(xhr.responseText);
                    // 数据请求到了以后
                    res = xhr.responseText ;
                    console.log(res);
                    cb(res) ;
                }
            } 

           
        }

    </script>
    
</body>
</html>